home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / tcppack / tcppackb.lzh / include / socket.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-07  |  2.4 KB  |  117 lines

  1. /*
  2.  * socket.h
  3.  *
  4.  * Copyright (C) 1994 First Class Technology.
  5.  */
  6.  
  7. #ifndef __socket_h__
  8. #define __socket_h__
  9.  
  10. #define    AF_INET        0
  11. #define    AF_LOCAL    1
  12.  
  13. #define    SOCK_STREAM    0
  14. #define    SOCK_DGRAM    1
  15. #define    SOCK_RAW    2
  16.  
  17. #define    SOCK_BINARY    0    /* socket in raw (binary) mode */
  18. #define    SOCK_ASCII    1    /* socket in cooked (newline mapping) mode */
  19. #define    SOCK_QUERY    2    /* Return setting without change */
  20.  
  21. #define ESOCKTNOSUPPORT    100
  22. #define EAFNOSUPPORT    101
  23. #define    EAFNOSUPP    102
  24. #define    EISCONN        103
  25. #define    EOPNOTSUPP    104
  26. #define    ECONNREFUSED    105
  27. #define    ENOTCONN    106
  28. #define    EADDRINUSE    107
  29. #define    EMSGSIZE    108
  30. #define    EALARM        109
  31. #define    EABORT        110
  32.  
  33. #define    NOTUSED            0
  34. #define    TYPE_TCP        1
  35. #define    TYPE_UDP        2
  36. #define TYPE_RAW        3
  37. #define    TYPE_LOCAL_STREAM    4
  38. #define    TYPE_LOCAL_DGRAM    5
  39.  
  40. struct sockaddr
  41. {
  42.   short sa_family;
  43.   char sa_data[14];
  44. };
  45.  
  46. struct in_addr
  47. {
  48.   unsigned long s_addr;
  49. };
  50.  
  51. struct sockaddr_in
  52. {
  53.   short sin_family;
  54.   unsigned short sin_port;
  55.   struct in_addr sin_addr;
  56.   char sin_zero[8];
  57. };
  58.  
  59. struct loc
  60. {
  61.   struct mbuf *q;
  62.   int hiwat;            /* Flow control point */
  63.   int flags;
  64. #define    LOC_SHUTDOWN    1
  65. };
  66.  
  67. #define    LOCDFLOW    5    /* dgram socket flow-control point, packets */
  68. #define    LOCSFLOW    2048    /* stream socket flow control point, bytes */
  69. #define    SOBUF        256    /* Size of buffer for usputc()/usprintf() */
  70. #define    SOCKBASE    128    /* Start of socket indexes */
  71.  
  72. union cb
  73. {
  74.   struct tcb *tcb;
  75.   struct udp_cb *udp;
  76.   struct raw_ip *rip;
  77.   struct loc *local;
  78.   char *p;
  79. };
  80.  
  81. union sp
  82. {
  83.   struct sockaddr *sa;
  84.   struct sockaddr_in *in;
  85.   char *p;
  86. };
  87.  
  88. int accept (int, char *, int *);
  89. int bind (int, char *, int);
  90. int close_s (int);
  91. int connect (int, char *, int);
  92. int listen (int, int);
  93. int socket (int, int, int);
  94. int read_s (int, char *, int);
  95. int recvfrom (int, char *, int, int, char *, int *);
  96. int write_s (int, char *, int);
  97. int sendto (int, char *, int, int, char *, int);
  98. int socklen (int, int);
  99.  
  100. int getpeername (int, char *, int *);
  101. int getsockname (int, char *, int *);
  102. int setflush (int, int);
  103. int shutdown (int, int);
  104. int sockkick (int);
  105. int usesock (int);
  106. int recvchar (int);
  107. int recvline (int, char *, unsigned int);
  108. int rrecvchar (int);
  109. int seteol (int, char *);
  110. int sockmode (int, int);
  111. void usflush (int s);
  112. char *psocket (void *);
  113. char *sockerr (int);
  114. char *sockstate (int);
  115.  
  116. #endif
  117.